因為發文的隔天是禮拜天我想要睡覺所以就提前發文了~(純粹就是懶惰)
今天要來講解的題目是我們的第三題
簡單來說就是要找出最大不重複的子字串長度
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_map<char, int> m;
int maxLength = 0; // 更有表意的變量名
int start = -1; // 用來追踪無重複子串的起始位置
for (int i = 0; i < (int)s.size(); i++) {
// 如果字符s[i]在map中存在且出現的位置在start之後,更新start
if (m.find(s[i]) != m.end() && m[s[i]] > start) {
start = m[s[i]];
}
// 計算當前無重複子串的長度
maxLength = max(maxLength, i - start);
// 更新當前字符的最新位置
m[s[i]] = i;
}
return maxLength;
}
};